package com.app.model;


import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.JsonNode;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Timestamp;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("lm_person_train1")
@JsonInclude(JsonInclude.Include.NON_NULL)

public class PersonTrainModel {
    @TableId(type = IdType.AUTO)
    @ExcelIgnore
    private Integer id;
    @ExcelIgnore
    private Integer personId;//人员ID,person表
    @ExcelProperty("年度")
    private Integer year;
    @ExcelIgnore
    private Timestamp createTime;
    @ExcelIgnore
    private Timestamp updateTime;
    @TableField(exist = false)
    @ExcelProperty("综合评定")
    private String trainTotal;//综合评定
    @ExcelIgnore
    private String trainResult;//项目+成绩+评定
    @TableField(exist = false)
    @ExcelIgnore
    private List<TrainResultModel> TrainResultList;
    @ExcelIgnore
    private Integer trainDesc;//综合评定
    @TableField(exist = false)
    @ExcelIgnore
    private Integer isCreate;
    @TableField(exist = false)
    @ExcelIgnore
    private List<PersonTrainModel> trainAdd;//详情中的新增
    @TableField(exist = false)
    @ExcelIgnore
    private List<PersonTrainModel> trainEdit;//详情中的更改
    @TableField(exist = false)
    @ExcelIgnore
    private List<PersonTrainModel> trainList;//新增军事训练评定
    @TableField(exist = false)
    @ExcelIgnore
    private String trainRemove;
    @TableField(exist = false)
    @ExcelIgnore
    private Integer trainObject;//训练项目ID,category表
    @TableField(exist = false)
    @ExcelIgnore
    private String trainStandard;//训练标准
    @TableField(exist = false)
    @ExcelIgnore
    private String trainPerform;//分数
    @TableField(exist = false)
    @ExcelIgnore
    private Integer trainLevel;//等级ID,category表
    @TableField(exist = false)
    @ExcelIgnore
    private Double trainScore;
    @TableField(exist = false)
    @ExcelIgnore
    private JSONObject json;
    @TableField(exist = false)
    @ExcelIgnore
    private String depName;//部门名字字段
    @TableField(exist = false)
    @ExcelIgnore
    private String trainObjectText;//训练项目字段
    @TableField(exist = false)
    @ExcelIgnore
    private String trainLevelText;//训练等级字段

    @TableField(exist = false)
    @ExcelIgnore
    private Integer countA;
    @TableField(exist = false)
    @ExcelIgnore
    private Integer countB;
    @TableField(exist = false)
    @ExcelIgnore
    private String percentage;

    //部职别
    @TableField(exist = false)
    @ExcelIgnore
    private String positionDesc;
    //姓名
    @TableField(exist = false)
    @ExcelIgnore
    private String name;
    //性别
    @TableField(exist = false)
    @ExcelIgnore
    private String genderText;
    //年龄
    @TableField(exist = false)
    @ExcelIgnore
    private Integer age;
    //军衔
    @TableField(exist = false)
    @ExcelIgnore
    private String rankTitleText;
    //理论考核分数
    @TableField(exist = false)
    @ExcelProperty("理论考核分数")
    private Double  theoreticalScore;
    //理论考核评定
    @TableField(exist = false)
    @ExcelProperty("理论考核评定")
    private String theoreticalLevel;
    //军事体育分数
    @TableField(exist = false)
    @ExcelProperty("军事体育分数")
    private Double physicalScore;
    //军事体育评定
    @TableField(exist = false)
    @ExcelProperty("军事体育评定")
    private String physicalLevel;
    //军事职业教育评定
    @TableField(exist = false)
    @ExcelProperty("军事职业教育评定")
    private String educationLevel;
    @TableField(exist = false)
    @ExcelProperty("军事职业教育分数")
    private Double educationScore;
    //轻武器操作分数
    @TableField(exist = false)
    @ExcelProperty("轻武器操作分数")
    private Double weaponScore;
    //轻武器操作评定
    @TableField(exist = false)
    @ExcelProperty("轻武器操作评定")
    private String weaponLevel;
    //专业岗位考核分数
    @TableField(exist = false)
    @ExcelProperty("专业岗位考核分数")
    private Double postScore;
    //专业岗位考核评定
    @TableField(exist = false)
    @ExcelProperty("专业岗位考核评定")
    private String postLevel;
}
